<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/Python-3.6.2/Include/fileobject.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/Python-3.6.2/Include/fileobject.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/* File object interface (what&apos;s left of it -- see io.py) */</span>
<a name="2" /><span class="True">       2:</span> 
<a name="3" /><span class="True">       3:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_UHlfRklMRU9CSkVDVF9IXzA_"><span class="b">Py_FILEOBJECT_H</span></a>
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlfRklMRU9CSkVDVF9IXzA_"><span class="b">Py_FILEOBJECT_H</span></a>
<a name="5" /><span class="False">       5:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__cplusplus</span>
<a name="6" /><span class="False">       6:</span> <span class="m">extern</span> <span class="e">&quot;C&quot;</span> <span class="f">{</span>
<a name="7" /><span class="True">       7:</span> <span class="f">#</span><span class="n">endif</span>
<a name="8" /><span class="True">       8:</span> 
<a name="9" /><span class="True">       9:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UFlfU1RESU9URVhUTU9ERV8w"><span class="b">PY_STDIOTEXTMODE</span></a> <span class="e">&quot;b&quot;</span>
<a name="10" /><span class="True">      10:</span> 
<a name="11" /><span class="True">      11:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyFile_FromFd</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">,</span>
<a name="12" /><span class="True">      12:</span>                                      <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span>
<a name="13" /><span class="True">      13:</span>                                      <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="14" /><span class="True">      14:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyFile_GetLine</span><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="15" /><span class="True">      15:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyFile_WriteObject</span><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="16" /><span class="True">      16:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyFile_WriteString</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="17" /><span class="True">      17:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyObject_AsFileDescriptor</span><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="18" /><span class="True">      18:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="19" /><span class="True">      19:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">char</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_UniversalNewlineFgets</span><span class="f">(</span><span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">,</span> <span class="b">FILE</span><span class="f">*</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="20" /><span class="True">      20:</span> <span class="f">#</span><span class="n">endif</span>
<a name="21" /><span class="True">      21:</span> 
<a name="22" /><span class="True">      22:</span> <span class="k">/* The default encoding used by the platform file system APIs</span>
<a name="23" /><span class="True">      23:</span> <span class="k">   If non-NULL, this is different than the default encoding for strings</span>
<a name="24" /><span class="True">      24:</span> <span class="k">*/</span>
<a name="25" /><span class="True">      25:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_FileSystemDefaultEncoding</span><span class="f">;</span>
<a name="26" /><span class="True">      26:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">Py_LIMITED_API</span><span class="f">)</span> <span class="f">||</span> <span class="b">Py_LIMITED_API</span><span class="f">+</span><span class="c">0</span> <span class="f">&gt;=</span> <span class="c">0x03060000</span>
<a name="27" /><span class="True">      27:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_FileSystemDefaultEncodeErrors</span><span class="f">;</span>
<a name="28" /><span class="True">      28:</span> <span class="f">#</span><span class="n">endif</span>
<a name="29" /><span class="True">      29:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">Py_HasFileSystemDefaultEncoding</span><span class="f">;</span>
<a name="30" /><span class="True">      30:</span> 
<a name="31" /><span class="True">      31:</span> <span class="k">/* Internal API</span>
<a name="32" /><span class="True">      32:</span> <span class="k"></span>
<a name="33" /><span class="True">      33:</span> <span class="k">   The std printer acts as a preliminary sys.stderr until the new io</span>
<a name="34" /><span class="True">      34:</span> <span class="k">   infrastructure is in place. */</span>
<a name="35" /><span class="True">      35:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="36" /><span class="True">      36:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyFile_NewStdPrinter</span><span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="37" /><span class="True">      37:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="b">PyTypeObject</span><span class="f">)</span> <span class="b">PyStdPrinter_Type</span><span class="f">;</span>
<a name="38" /><span class="True">      38:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* Py_LIMITED_API */</span>
<a name="39" /><span class="True">      39:</span> 
<a name="40" /><span class="True">      40:</span> <span class="k">/* A routine to check if a file descriptor can be select()-ed. */</span>
<a name="41" /><span class="True">      41:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="macros_ref.html#_SEFWRV9TRUxFQ1RfMA__"><span class="b">HAVE_SELECT</span></a>
<a name="42" /><span class="True">      42:</span>  <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_X1B5SXNTZWxlY3RhYmxlX2ZkXzA_"><span class="b">_PyIsSelectable_fd</span></a><span class="f">(</span><span class="b">FD</span><span class="f">)</span> <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">FD</span><span class="f">)</span> <span class="f">&gt;=</span> <span class="c">0</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><span class="b">FD</span><span class="f">)</span> <span class="f">&lt;</span> <a href="macros_ref.html#_RkRfU0VUU0laRV8w"><span class="b">FD_SETSIZE</span></a><span class="f">)</span><span class="f">)</span>
<a name="43" /><span class="False">      43:</span> <span class="f">#</span><span class="n">else</span>
<a name="44" /><span class="False">      44:</span>  <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_X1B5SXNTZWxlY3RhYmxlX2ZkXzA_"><span class="b">_PyIsSelectable_fd</span></a><span class="f">(</span><span class="b">FD</span><span class="f">)</span> <span class="f">(</span><span class="c">1</span><span class="f">)</span>
<a name="45" /><span class="True">      45:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* HAVE_SELECT */</span>
<a name="46" /><span class="True">      46:</span> 
<a name="47" /><span class="False">      47:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__cplusplus</span>
<a name="48" /><span class="False">      48:</span> <span class="f">}</span>
<a name="49" /><span class="True">      49:</span> <span class="f">#</span><span class="n">endif</span>
<a name="50" /><span class="True">      50:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !Py_FILEOBJECT_H */</span>
<a name="51" /><span class="True">      51:</span> </pre>
  </body>
</html>
